package com.atguigu.yygh.order.service;

import com.atguigu.yygh.model.order.OrderInfo;
import com.atguigu.yygh.vo.order.OrderCountQueryVo;
import com.atguigu.yygh.vo.order.OrderQueryVo;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

public interface OrderService extends IService<OrderInfo> {

    // 创建订单编号
    Long saveOrder(String scheduleId, Long patientId);

//    根据订单id返回订单对象
    OrderInfo getOrder(String orderId);

//    订单列表(条件查询带分页)
    IPage<OrderInfo> selectPage(Page<OrderInfo> pageParam, OrderQueryVo orderQueryVo);

    // 取消预约
    Boolean cancleOrder(Long orderId);


    // 就诊通知
    void patientTips();

    // 预约统计方法
    Map<String,Object> getCountMap (OrderCountQueryVo orderCountQueryVo);
}
